package jianzhiOffer;
//剑指 Offer 42. 连续子数组的最大和
public class Num42_maxSubArray {
    public int maxSubArray(int[] nums) {
        int res = nums[0];
        int []dp = new int[nums.length];
        dp[0] = nums[0];
        for (int i = 1; i < nums.length; i++) {
            dp[i] = Math.max(dp[i] + nums[i] , nums[i]);
        }
        return res;





//        int res = nums[0];
//        int sum = 0;
//        for (int i : nums){
//            sum += i;
//            if (sum <= 0){
//                sum = i;
//            }
//            res = Math.max(res , sum);
//        }
//        return res;



    }
//        int ans = nums[0];
//        int tempMax = 0;
//        for (int i : nums){
//            if (tempMax <= 0){
//                tempMax = i;
//            }else {
//                tempMax += i;
//            }
//            ans = Math.max(ans,tempMax);
//        }
//        return ans;

//        int ans = nums[0];
//        int tempMax = 0;
//        for (int i : nums){
//            if (tempMax <= 0){
//                tempMax = i;
//            }else {
//                tempMax += i;
//            }
//            ans = Math.max(tempMax,ans);
//        }
//        return ans;
//
//    }

}
